define(['app'],function(app){return {module: function($scope, $http, eventBusService, httpService, params) {

	$scope.menu = {};

	//接收数据刷新
	eventBusService.subscribe('content.page.reload', function(event,data) {
		$scope.find();
	});

	if(params.father_id!='undefined'){
		httpService.post(app.urls.menu_select,{"id":params.father_id},function(data){
			if("0000" === data.code){
				$scope.menu_name = data.data[0].name;
				$scope.findButton(data.data[0].id);
			}else{
				alert(data.msg);
			}
		});
	}else {
		$scope.form.type=params.type;
	}

	$scope.findButton=function(menu_id){
		httpService.post(app.urls.button_select,{"menu_id":menu_id},function(data){
			if("0000" === data.code){
				$scope.buttons = data.data;
			}else{
				alert(data.msg);
			}
		});
	}

		//按钮事件
		$scope.operate = function(event) {
			$scope[event]();
		}

		//异动类别
		httpService.post(app.urls.dictionary_selectByRule,{fk_rule:"0a4a1f34-91e5-4295-b816-aa1117d714fa"},function(data){
			if("0000" === data.code){
				$scope.ydlbList = data.data;
			}else{
				alert(data.msg);
			}
		});

		//学籍状态
		httpService.post(app.urls.dictionary_selectByRule,{fk_rule:"SJAAAAA10061"},function(data){
			if("0000" === data.code){
				$scope.xjztList = data.data;
			}else{
				alert(data.msg);
			}
		});

		//查询年级
		$scope.findGrade = function(){
			httpService.post(app.urls.grade_selectCenterGrade,{"fk_unit":$scope.form.fk_unit},function(data){
				if("0000" === data.code){
					$scope.gradeList = data.data;
				}else{
					alert(data.msg);
				}
			});
		}

		//查询专业
		$scope.findMajor = function(){
			httpService.post(app.urls.major_select,{"fk_unit":$scope.form.fk_unit,"fk_grade":$scope.form.fk_grade},function(data){
				if("0000" === data.code){
					$scope.majorList = data.data;
					$scope.findClass();
				}else{
					alert(data.msg);
				}
			});
		}

		//获取班级
		$scope.findClass=function(){
			$scope.classList = [];
			httpService.post(app.urls.class_selectClassName,{"fk_unit":$scope.form.fk_unit,"fk_grade":$scope.form.fk_grade,"fk_major":$scope.form.fk_major,"status":'0'},function(data){
				if("0000" === data.code){
					$scope.classList = data.data;
				}else{
					alert(data.msg);
				}
				$scope.$applyAsync();
			});
		}


		//查询学生列表
		$scope.find = function(){
			httpService.postpage(app.urls.reshuffle_selectAll,$scope.form,function(data){
				if("0000" === data.code){
					$scope.rows = data.data;
				}else{
					alert(data.msg);
				}
			});
		}


		$scope.add = function (){

			eventBusService.publish("modal.page", "modules/content/schoolroll/reshuffle/add?fk_menuid="+params.fk_menuid+ "&father_id=" + params.father_id);
		}


		$scope.edit= function(row) {
			eventBusService.publish("modal.page", "modules/content/schoolroll/reshuffle/edit?id="+row.id);
		}

		$scope.detail= function(row) {
			eventBusService.publish("modal.page", "modules/content/schoolroll/reshuffle/detail?id="+row.id);
		}


		$scope.delete = function (){
			var values = [];
			var ids="";
			$('#'+$scope.controllerName+' input[name="dataPk"]:checked').each(function(){
				var arr=$(this).val().split(',');
				values.push(arr[0]);
				ids = ids+",'"+arr[0]+"'";
			});
			if(values.length < 1){
				eventBusService.publish('modal.alert', {"title":"操作提示","content":"请选择删除的数据。"});
			}else{
				eventBusService.publish("modal.alert",{"content":"你是否确认删除这"+values.length+"数据？","isAutoClose":false,"confirm":function(){
						httpService.post(app.urls.reshuffle_delete,{"id":ids.replace(',','')}, function(data) {
							if ("0000" === data.code) {
								$scope.select();
							} else {
								alert(data.msg);
							}
						});
					},"cancel":function(){
						//用户取消，不做操作
					}});
			}
		}




		//按钮点击事件-条件查询
		$scope.select = function(){
			$scope.page.current = 1;
			$scope.find();
		}

		let init = function (){
			$scope.form.fk_unit=app.userInfo.unitId;
			$scope.find();
			$scope.findGrade();
		}


		init();
		//选择数据
		$scope.optData = function (element) {
			if($(element).find("input[name='dataPk']").is(":checked")){
				$(element).find("input[name='dataPk']").prop("checked",false);
				$(element).removeClass("opt_tr");
			}else{
				$(element).find("input[name='dataPk']").prop("checked",true);
				$(element).addClass("opt_tr");
			}
		}
		$scope.checkAll = function(target) {
			$("#" + $scope.controllerName + " input[name='dataPk']").each(function() {
				if ($(this).prop("checked")) {
					$(this).prop('checked', false);
					$(this).parents("tr").removeClass("opt_tr");
				} else {
					$(this).prop('checked', true);
					$(this).parents("tr").addClass("opt_tr");
				}
			})
		}
}}});